package com.yyw.foodie.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yyw.foodie.bo.users.UserLoginBo;
import com.yyw.foodie.bo.users.UserRegisterBo;
import com.yyw.foodie.pojo.UsersEntity;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 * 用户表  服务类
 * </p>
 *
 * @author yiyw
 * @since 2021-05-22
 */
public interface UsersService extends IService<UsersEntity> {

    /**
     * 判断用户名是否存在
     *
     * @param userName 用户名
     * @return boolean
     */
    Boolean userNameIsExists(String userName);

    /**
     * 用户注册操作，通过用户名、密码注册
     *
     * @param userRegisterBo 封装用户名、密码
     * @return 注册成功后的用户信息
     */
    UsersEntity register(UserRegisterBo userRegisterBo);

    /**
     * 用户登录
     *
     * @param userLogin
     * @return
     */
    UsersEntity login(UserLoginBo userLogin) throws Exception;

    /**
     * 用户修改头像
     * @param userId    userId
     * @param file      头像文件流
     */
    void updateFace(String userId, MultipartFile file);
}
